package cn.qicaiwang.open.app.server;

import cn.qicaiwang.open.app.dto.*;

import java.math.BigDecimal;

/**
 * 法律计算服务接口
 */
public interface LegalCalculationService {
    /**
     * 计算工伤赔偿金额
     * @param dto 工伤赔偿计算参数
     * @return 赔偿总金额
     */
    BigDecimal calculateWorkInjuryCompensation(WorkInjuryCompensationDTO dto);

    /**
     * 计算利息金额
     * @param dto 利息计算参数
     * @return 利息金额
     */
    BigDecimal calculateInterest(InterestCalculationDTO dto);

    /**
     * 计算诉讼费用
     * @param dto 诉讼费计算参数
     * @return 诉讼费用
     */
    BigDecimal calculateLitigationFee(FeeCalculationDTO dto);

    /**
     * 计算仲裁费用
     * @param dto 仲裁费计算参数
     * @return 仲裁费用
     */
    BigDecimal calculateArbitrationFee(FeeCalculationDTO dto);

    /**
     * 计算保全费用
     * @param dto 保全费计算参数
     * @return 保全费用
     */
    BigDecimal calculatePreservationFee(FeeCalculationDTO dto);

    /**
     * 计算执行申请费用
     * @param dto 执行申请费计算参数
     * @return 执行申请费用
     */
    BigDecimal calculateExecutionFee(FeeCalculationDTO dto);

    /**
     * 利率换算
     * @param dto 利率换算参数
     * @return 换算后的利率
     */
    BigDecimal convertInterestRate(InterestRateConversionDTO dto);
}